package com.cxdr.awsips.analysis.bean;

import java.io.File;

/**
 * 文件信息
 * 
 * @author Administrator
 * 
 */
public class FileInfo {
	/**
	 * 是什么类型的文件，地面数据文件。。。。
	 */
	private FileType fileType;
	
	/**
	 * 是否更新文件
	 */
	private boolean is_update;
	/**
	 * 是否区域文件
	 */
	private boolean isReg;
	private int update_count; // 更新次数
	/**
	 * 是什么类型的数据，包文件，还是更新文件
	 */
	private DataType dataType;
	
	private File file;

	public FileInfo(File file) {
		this.file = file;
		parsAttr();
	}

	private void parsAttr() {
		String fileName = file.getName();
		if (fileName.contains("O_AWS_FTM")) {
			fileType = FileType.E;// "地面气象要素数据文件";
		}
		if (fileName.contains("O_AWS-PRF_FTM")) {
			fileType = FileType.N;// "地面自动站雨量观测资料";
		}
		if (fileName.contains("O_AWS_DAY")) {
			fileType = FileType.D;// "自动站日数据文件";
		}
		if (fileName.contains("R_AWS_FTM")) {
			fileType = FileType.Z;// "自动站状态信息文件";
		}
		if (fileName.contains("O_ARS_FTM")) {
			fileType = FileType.R;// "自动站气象辐射资料";
		}
		if (fileName.contains("BENN")) {
			dataType = DataType.P;
		}
		String[] infos = fileName.split("_");
		for(int i =0;i<infos.length;i++){
			String info = infos[i];
			//包含更新
			if(info.contains("CC")){
				//是否更新
				is_update = true;
				dataType = DataType.U;
				//更新次数
				update_count = (int)(info.charAt(info.length()-5)-'A'+1);
				continue;
			}
		}
	}

	public FileType getFileType() {
		return fileType;
	}

	public void setFileType(FileType fileType) {
		this.fileType = fileType;
	}

	public File getFile() {
		return file;
	}

	public void setFile(File file) {
		this.file = file;
	}


	public boolean isReg() {
		return isReg;
	}

	public void setReg(boolean isReg) {
		this.isReg = isReg;
	}

	public boolean isIs_update() {
		return is_update;
	}

	public void setIs_update(boolean is_update) {
		this.is_update = is_update;
	}

	public int getUpdate_count() {
		return update_count;
	}

	public void setUpdate_count(int update_count) {
		this.update_count = update_count;
	}

	public DataType getDataType() {
		return dataType;
	}

	public void setDataType(DataType dataType) {
		this.dataType = dataType;
	}
}
